1
Kekuatan Introspeksi
AI035Lesson 15
00:00

Dalam Ruby, kode bukan sekadar skrip statis—ia adalah sistem hidup. Introspeksi adalah kekuatan super yang memungkinkan objek memiliki 'pengetahuan diri', mengubah mereka dari kotak hitam menjadi peta pencarian fungsionalitas. Bahkan nilai langsung seperti bilangan bulat dapat ditanya tentang asal-usul dan kemampuannya saat runtime.

1. Antarmuka Hidup

Dengan memanggil obj.methods(regular=true), kita dapat mengakses seluruh kosa kata fungsional objek. Objek Range sederhana (r = 1..10) mengungkapkan jumlah metode yang menakjubkan sebanyak 68 metode berbeda, yang mencerminkan warisan kaya dari Object dan Enumerable mix-in.

Sidebar [A]ArrayAtan2AutoLoadKelas Array < ObjectEnumerableTanda Tangan Metode: Array#packMasukan: string templatKeluaran: String Biner

2. Penemuan Dinamis

Metode respond_to? berfungsi sebagai penjaga runtime, memungkinkan Duck Typing. Alih-alih bertanya 'Apa kamu?', kita bertanya 'Bisakah kamu melakukan ini?'. Fleksibilitas ini memungkinkan program menyesuaikan diri berdasarkan kemampuan aktual, seperti memeriksa apakah sebuah string merespons simbol serupa penugasan (=) atau apakah nilai numerik mendukung query hierarki tertentu, Query Hierarki.

3. Jembatan Meta-Dokumentasi

Alat seperti RDoc menggunakan fitur-fitur ini untuk menghasilkan tata letak daftar alfabetis dan diagram blok tanda tangan metode secara otomatis. Dengan memeriksa konstanta modul dan Variabel Instans, para pengembang dapat menjelajahi struktur namespace secara programatik, menutup celah antara file sumber dan eksekusi aktif.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>